const Router = require('@koa/router')
const Mock = require('mockjs')

const db = require('../db/index')
// const router = new Router()
const router = new Router({
    // 实例化router的时候，可以写路由前缀
    prefix: '/api/v1'
})

router.post('/login', async ctx => {
    console.log(ctx.request.body)
    ctx.body = '登录页'
})

router.get('/user', async ctx => {
    console.log(ctx.url)
    // 假设user这个接口不用了，我们可以在这里做一个重定向
    // 坑点，如果设置了prefix，重定向的时候也要加
    ctx.redirect('/api/v1/news')
    ctx.body = '用户信息'
})

// router.get('/news', async ctx => {
//     ctx.body = '新闻列表'
// })

router.get('/news/:id/:page', async ctx => {
    // 1. ctx.qurey获取 以 ? 和 & 的参数
    // console.log(ctx.query)
    // console.log(ctx.query.id)
    // console.log(ctx.query.page)

    // 2. 动态路由的参数ctx.params 写在路由上
    // console.log(ctx.params)
    ctx.body = '新闻列表'
})

router.get('/list', async ctx => {
    console.log(ctx.url)
    const news = db.news()
    const res = {
        code: 10000,
        data: news
    }
    ctx.body = res
})

router.get('/mock', async ctx => {
    const data = Mock.mock({
        // 属性 list 的值是一个数组，其中含有 1 到 10 个元素
        'list|2': [{
            // 属性 id 是一个自增数，起始值为 1，每次增 1
            'id|+1': 1,
            'user':'@email',
            'name':'@cname',
            'city':'@city',
            'title':'@cparagraph',
            'ip':'@ip',
            'test':{
                'food':'@time'
            }
        }],
        'demo':6666
    })
    const res = {
        code: 10000,
        data: data
    }
    ctx.body = res
})

module.exports = router